RegExp-এ . (ডট) একটি বিশেষ মেটাচরিত্র (metacharacter) যা যেকোনো একটি চরিত্র (নতুন লাইন ছাড়া) মেলানোর জন্য ব্যবহৃত হয়। এটি খুবই শক্তিশালী এবং সাধারণত স্ট্রিংয়ে বিভিন্ন ধরনের অক্ষরের মিল খুঁজতে ব্যবহৃত হয়, যেখানে আপনি কোনো নির্দিষ্ট চরিত্র জানেন না বা তা পরিবর্তনশীল হতে পারে।
. (ডট) এর ব্যবহার
ডট (.) প্যাটার্নটি স্ট্রিংয়ের মধ্যে কোনো নির্দিষ্ট চরিত্রের পরিবর্তে যেকোনো একক চরিত্রকে ম্যাচ করে। তবে, এটি নতুন লাইন (newline) চিহ্ন \n ছাড়া অন্য যেকোনো চরিত্রের সাথে মেলে।
সিনট্যাক্স:
let regex = /./;
এখানে, . প্যাটার্নটি যেকোনো একটি চরিত্রের জন্য মিলে যাবে, যেমন: অক্ষর, সংখ্যা, বিশেষ চিহ্ন ইত্যাদি।
উদাহরণ:
let regex = /a.b/;
let str = "acb";
console.log(regex.test(str)); // true
এখানে, a.b প্যাটার্নটি স্ট্রিং acb এর মধ্যে মিলবে কারণ ডট (.) যে কোনো একটি চরিত্রের সাথে মিলতে পারে, এবং এখানে এটি "c" এর সাথে মিলে যাচ্ছে।
. (ডট) এর ব্যবহার সীমাবদ্ধতা
যেহেতু ডট (.) যেকোনো একক চরিত্রের সাথে মেলে, এটি নতুন লাইন (newline) চরিত্রের সাথে মেলে না। অর্থাৎ, ডট (.) প্যাটার্ন স্ট্রিংয়ের একটি লাইন পর্যন্ত সীমাবদ্ধ থাকে। যদি আপনি নতুন লাইনও মেলাতে চান, তাহলে s (dotall) ফ্ল্যাগ ব্যবহার করতে হবে।
উদাহরণ:
let regex = /a.b/;
let str = "a\nb";
console.log(regex.test(str)); // false
এখানে, a\nb স্ট্রিংয়ের মধ্যে a.b প্যাটার্ন মিলবে না কারণ ডট (.) নতুন লাইন \n এর সাথে মেলে না।
. (ডট) এর সাথে অন্যান্য মেটাচরিত্রের সমন্বয়
ডট (.) সাধারণত অন্যান্য মেটাচরিত্রের সাথে মিলিয়ে আরো জটিল প্যাটার্ন তৈরি করতে ব্যবহৃত হয়। উদাহরণস্বরূপ, .* প্যাটার্নটি শূন্য বা একাধিক যেকোনো চরিত্রের সাথে মেলে।
উদাহরণ:
let regex = /a.*b/;
let str = "abc";
console.log(regex.test(str)); // true
এখানে, .* প্যাটার্নটি "a" এবং "b" এর মধ্যে যেকোনো চরিত্র (শূন্য বা একাধিক) মিলিয়ে স্ট্রিং "abc" এর সাথে মিলে যাচ্ছে।
. (ডট) এবং ফ্ল্যাগের সংমিশ্রণ
যদি আপনি ডট (.) এর সাহায্যে নতুন লাইনও মেলাতে চান, তাহলে s ফ্ল্যাগ ব্যবহার করতে হবে। এটি ডট (.) কে নতুন লাইন সহ যেকোনো চরিত্র হিসেবে বিবেচনা করবে।
উদাহরণ:
let regex = /a.b/s;
let str = "a\nb";
console.log(regex.test(str)); // true
এখানে, s ফ্ল্যাগের কারণে ডট (.) নতুন লাইন সহ যেকোনো চরিত্রের সাথে মেলাতে সক্ষম হচ্ছে, এবং a\nb স্ট্রিংয়ের সাথে মিলছে।
সারাংশ
RegExp-এ . (ডট) মেটাচরিত্রটি যেকোনো একটি চরিত্র (নতুন লাইন ছাড়া) মেলানোর জন্য ব্যবহৃত হয়। এটি খুবই শক্তিশালী এবং সাধারণত স্ট্রিংয়ের মধ্যে বিভিন্ন ধরনের অক্ষরের মিল খুঁজতে সাহায্য করে। যদি নতুন লাইনও মেলাতে চান, তবে s (dotall) ফ্ল্যাগ ব্যবহার করতে হবে।
Read more